The Turing Machine is an abstract, mathematical model that describes what can and cannot be accomplished with computers. The labs for this module revolve around a Turing Machine (TM) simulator, called ITM. We will use ITM to demonstrate how abstract TMs machines work, how they are defined, how they compute, and how powerful they are.

Lab 8.1: Welcome to ITM
Lab 8.2: What's my Line?
Lab 8.3: Incompleteness and Ambiguity
Lab 8.4: Rolling Your Own
  1. Concentrate on the view of a program as an abstract machine
  2. Consider two ways of looking at abstract machines
  3. Investigate and experiment with a variety of Turing Machines
  4. Describe the expressive power and the limitations of Turing Machines
Module Quiz

Print
References

Our approach so far has been top-down, from applications to hardware, via design, programming, and program translation. Now that we've seen what programs1 are and how a computer2 can be designed to do what a program instructs it to do, this text module goes beyond computers to the nature of computation itself. We ask what a computer is; we ask what computation means; we see what computers can and cannot do - not just today's computers, but anything that we can imagine as a computer.

1pp. 13, Mod. 2, 234, 273, 285
2pp. 7, 257

The fact that the Turing Machine3 (TM) was invented before there were any such things as modern-day computers should convince you that there is more to computation than hardware. Indeed, TMs - described solely in terms of abstract states, infinite tapes, simple read and write devices, and programs - are equal in computational power to any computer available today. By virtue of their abstract nature, they also help us to articulate the theoretical limits of computing, and so serve as an ideal metaphor for this module.

3pp. 271, 273–277, 280-281

MODULES:


Search Resources Objectives Feedback Order Form Credits Print Book


Copyright Notice
© 1998 PWS Publishing Company, All Rights Reserved.